package main.java.com.jlpay.open.jlpay.sdk.java.model.openmerch.bill.response;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.jlpay.open.jlpay.sdk.java.model.BaseResponse;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 订单信息查询响应
 *
 * @author liaochangyi
 * @since 2024/12/28
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class OrderInfoQueryResponse extends BaseResponse {

    /**
     * 商户号
     */
    private String merchNo;

    /**
     * 终端号
     */
    private String termNo;

    /**
     * 客户订单号
     */
    private String outOrderId;

    /**
     * 嘉联订单号
     */
    private String orderId;

    /**
     * 渠道订单号，微信、支付宝、银联侧的订单号（码付交易时有）
     */
    private String chnTransactionId;

    /**
     * 原嘉联订单号（退款交易时有）
     */
    private String oriOrderId;

    /**
     * 交易时间（yyyy-MM-dd HH:mm:ss）
     */
    private String transTime;

    /**
     * 交易金额（单位为分）
     */
    private String amount;

    /**
     * 计费类型
     */
    private String feeType;

    /**
     * 卡类型，0：借记卡 1：贷记卡 2：余额
     */
    private String cardType;

    /**
     * 应收手续费，单位为分，收款交易手续费为正值，退款交易手续费为负值，无手续费为0，
     * 说明：该手续费为优惠减免前的手续费
     */
    private String transFee;

    /**
     * 实收手续费，单位为分，收款交易手续费为正值（优惠减免后手续费）退款交易手续费为负值，无手续费为0，
     * 说明：该手续费为优惠减免后的手续费，且以此字段作为该笔订单手续费
     */
    private String finnalFee;

    /**
     * 用户身份id（码付交易时有）
     */
    private String subOpenid;

    /**
     * 备注产品来源：立牌/电子码牌、银行卡、外接码付、订单POS、智能SDK
     */
    private String remark;
} 